# -*- coding: utf-8 -*-

# @Project : UI_DDTFrameWork
# @Author  : Mr.Deng
# @Time    : 2021/9/22 20:31

"""
创建测试套件
"""

from config.filePathConfig import *

import unittest


def create_test_suits(childName=None, caseName="*.py"):
    """
    遍历测试用例文件夹获取测试用例集合
    :param childName:
    :param caseName:
    :return:
    """
    # 获取测试用例目录文件默认路径，如果scripts文件夹下没有字目录默认None，如果有字目录需要传入目录名
    if childName is None:
        case_dir = testCasePath + '\\'
    else:
        case_dir = testCasePath + childName + '\\'

    # discover函数遍历指定目录，按条件过滤文件，返回测试套件列表
    # -case_dir:这个是待执行用例的目录
    # -pattern：这个是匹配脚本名称的规则，test*.py 意思是匹配 test 开头的所有脚本
    # -top_level_dir：这个是顶层目录的名称，一般默认等于 None 就行了。
    # 这里第二次调用默认的还是上次取用例的目录，所以必须返回上级目录所以 top_level_dir 参数取上级目录
    discover_suites = unittest.TestLoader().discover(
        start_dir=case_dir, pattern=caseName, top_level_dir=testCasePath)

    return discover_suites
